package com.hksj.cbm.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;

/**
 * @author fjt
 * @data 2024/7/11 9:02
 * @describe 设备信息表
 */
@Data
@TableName("dev_device_instance")
public class DeviceInstance implements Serializable {

    private static final long serialVersionUID = 7750460150511650828L;

    /**
     * 设备ID(只能由数字,字母,下划线和中划线组成)
     */
    private String id;
    /**
     * 图片地址
     */
    private String photoUrl;
    /**
     * 设备名称
     */
    private String name;
    /**
     * 设备类型
     */
    private String deviceType;
    /**
     * 说明
     */
    @TableField("'describe'")
    private String describe;
    /**
     * 产品ID
     */
    private String productId;
    /**
     * 产品名称
     */
    private String productName;
    /**
     * 配置信息
     */
    private String configuration;
    /**
     * 派生(独立)物模型
     */
    private String deriveMetadata;
    /**
     * 状态(只读)
     */
    private String state;
    /**
     * 创建者ID(只读)
     */
    private String creatorId;
    /**
     * 创建者名称(只读)
     */
    private String creatorName;
    /**
     * 创建时间(只读)
     */
    private Long createTime;
    /**
     * 激活时间
     */
    private Long registryTime;
    /**
     * 机构ID
     */
    private String orgId;
    /**
     * 父级设备ID
     */
    private String parentId;
    /**
     * 设备特性
     */
    private Long features;
    /**
     * 修改时间
     */
    private Long modifyTime;
    /**
     * 修改人ID
     */
    private String modifierId;
    /**
     * 修改人名称
     */
    private String modifierName;

    // ---------- 非表结构字段
    //设备所处路径
    @TableField(exist = false)
    private String paths;
    @TableField(exist = false)
    private String departmentItemValue;
    @TableField(exist = false)
    private String departmentItemValueName;

    /**
     * 所属产品的物模型
     */
    @TableField(exist = false)
    private String productMetadata;

}
